package com.tbit.main.dao.log;

import com.tbit.main.pojo.Battery;
import com.tbit.main.pojo.BatteryLog;
import com.tbit.main.pojo.PowerChangeLogSta;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author LMY
 * @create 2021-05-27 13:43
 * 电池操作日志
 */
public interface BatteryLogDao {
    /**
     * 添加操作日志
     *
     * @param
     */
    void inserts(@Param("batteries") List<Battery> batteries, @Param("accountId") Integer accountId, @Param("accountUserId") Integer accountUserId,
                 @Param("type") Integer type, @Param("addTime") String addTime);

    /**
     * 添加操作日志
     *
     * @param
     */
    void insert(Map<String, Object> map);



    /**
     * 按时间分组统计
     *
     * @param params
     * @return
     */
    List<PowerChangeLogSta> groupByTime(Map<String, Object> params);

    /**
     * 根据时间查询
     *
     * @param params
     * @return
     */
    List<BatteryLog> getByTime(Map<String, Object> params);

    /**
     * 确认换电
     */
    void updateIsValid(@Param("userCode") String userCode, @Param("batteryNO") String batteryNO);

    /**
     * 根据电池编号查询操作记录
     */
    List<BatteryLog> batteryNO(@Param("accountId") Integer accountId, @Param("batteryNO") String batteryNO,
                               @Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 根据电池编号查询操作记录
     */
    List<BatteryLog> userId(@Param("accountId") Integer accountId, @Param("accountUserId") Integer accountUserId,
                            @Param("startTime") String startTime, @Param("endTime") String endTime);
}
